撰文: Patrick McCorry,PISA Research首席执行官
编译:Perry Wang
从社区角度而言,我们对以链下协议(off-chain protocol)作为区块链网络的扩容方式感到无比兴奋,因为这会让大多数交易从第 1 层区块链移至链下系统,从而避开了 L1 区块链上的网络费用和延迟问题。
我想通过这篇文章来讨论一下有关链下协议的一些基本知识,让大家更好的了解目前的「桥」和这些桥链接的二层(L2)技术的关系。
什么是「桥」?
回答这个问题前,我们应该谈谈「桥」这个经常被忽略、但对评估资金安全性至关重要的基本组成部件:
桥(bridge)负责将资产保存在 L1 区块链上,而相同的资产则在另一(主要指外部)服务上发布。桥定义了谁来保管资金,以及在资产在解锁之前必须满足的条件。
简而言之,每当像以太坊这样的 L1 区块链连接到任何其他系统时,都会使用桥。所有桥都有类似的动作:
存入资产。用户可以向桥存入资产,桥会给予在其它系统中代表这一资产的证明;更新账户余额。有关新帐户余额的信息将通知桥,这可用于辅助提款过程。资产提取。用户凭借在其它系统中的余额,以及在其它系统中销毁的所发行代币,可以从桥提取资产。
最常见的桥 (人们在毫无觉察的情况下使用) 是单一组织形态:
多数加密货币交易所(或许是全部)提供单一组织形态桥接服务
如果我们仅考虑桥而不是其他任何东西,可以说中心化加密货币交易所是一个链下协议。用户可以将资金锁定到中心化交易所的服务中,进行交易时绕过网络费用和延迟,并最终可以将其资金提取回 L1 区块链。
除这种单一组织形态的桥接之外,还存在另外两种依赖一组托管人的桥:
多组织桥。固定数量的一组独立个体(N 中的 K 个代表)保管被锁定的资金。加密经济形态的桥。动态数量的个体保管被锁定的资产,具体数量由其资产权重决定。
一个重要的洞察是,L1 区块链上的所有以上三种桥都无法验证来自另一个系统的账户余额是否正确(或者,如果在另一个系统中的负债超过了桥接中的资产)。于是,将由一组托管人确定是否所有提款请求都根据另一个系统中的资产情况进行处理,他们最终决定了资金是否可以解锁,以及该由谁接收。
侧链和桥独立于任何区块链网络
在上文中,我们主要讨论考虑了采用诸如加密货币交易所之类的托管服务桥。桥越来越流行的一个用例是将一个区块链连接到另一个区块链(顺便说一下,这是「侧链 sidechain」这一术语的起源)。
侧链和桥接的安全独立于任何区块链网络
还存在多个桥接的范例:
WBTC:一个单一组织形态的桥接,将 BTC 资产连接以太坊网络中。Liquid 网络 或 RSK:一个多组织桥接,拥有硬件安全模块(HSM )的多方联盟,将 BTC 资产锁定/解锁资金到另一个区块链。Polygon 桥:一个加密经济形态的桥接,其中桥中锁定资产中的 2/3 + 1 定期就 Polygon 中所有用户的帐户余额达成协议,用户可以使用该协议在以太坊上提取资金(实际上, Polygon 最终将由小的多签合约控制的,但是这一示例主要聚焦于长期目标)。
Rainbow 桥:一个加密经济形态的桥接,其桥接合约是一个轻客户端,可以验证其他区块链的进度。它不检查另一个区块链的有效性,资金的安全性最终取决于另一个区块链的持续发展(通过加密经济学来保障)。
至关重要的是,每个桥都有自己的安全模型,并且不与任何区块链网络绑定。
我们可以举一个简单的案例 WBTC 来做进一步阐述:BitGo Trust 托管着锁定在比特币区块链中的资金,他们负责在以太坊上发行相同数量的 WBTC。以太坊上的智能合约会跟踪 WBTC 所有转账的账户余额。BitGo 是守信方,管理着智能合约中记录的帐户余额。
WBTC 一例中有几个方面需要考虑:
单一托管人。WBTC 的桥依赖于单一托管人来保证其完整性。他们理论上可以在以太坊上发行比所锁定比特币更多的 WBTC,并且他们可以决定不兑现将 WBTC 提取为 BTC 的行为。独立安全模式。以太坊拥有自己的、独立于比特币区块链的安全模型。桥又有自己的安全模型,该模型独立于上述两个区块链网络。以太坊是侧链。相对比特币区块链而言,交易已转移至链下,从比特币区块链转移至以太坊。
以上提到的三种桥的共同点是它们不检查侧链信息的诚信,而且如果托管人(或侧链)下线,则没有自我执行的应急计划来保护资金。他们只是受制于自己的安全模型,而不是桥所在的 L1 区块链中的安全机制。
L2 协议跟本文有什么关系?
L2 可扩容性旨在将交易吞吐量从 L1 区块链移动到另一个链下系统,需要桥来保存在其他系统上发行的资产。
但是,与本文探讨的所有其他桥类型不同,L2 协议致力于以与 L2 区块链相同的安全机制来保护资金,并且它不能依赖一组保管人(或其他链下系统)保护资金。
它需要一种新型的桥:
L2 桥。L1 区块链拥有资金的保管权,而桥接必须相信 L2 协议的信息诚信不会被破坏。在最坏的情况下,桥将自动增强 L2 协议的活跃度,直到所有资金都可以提取。
L2 桥是所有桥接中最强大的桥,它不依靠一组保管人来保护资金。取而代之的是,在释放资金之前,必须得让桥确信:链下系统一切都很好。如果出于某种原因,桥确信链下系统受到威胁,则该网只需要完全绕道另一个网络。
有几家公司专注于打造 L2 桥,自然也会构建全新的区块链网络
这就是 L2 协议如此令人兴奋的原因,上述这些团队花了几年时间才提出解决方案。市场中率先出现的使用 L2 协议的竞争者主要集中在如何实现安全的 L2 桥上(而不一定要部署其他区块链网络)。
这是进一步探讨技术问题和定义的好机会。我们明确表示:必须确保桥不会破坏 L2 协议,并且 L2 数据诚信被破坏的行为可以分为四个问题:
数据可用性。桥接如何确信另一个区块链网络的所有数据都是公开可用的,以便用户可以独立地重新计算 L2 数据库?状态变化的诚信度。我们如何使桥接相信 L2 网络的所有状态转换都是格式正确且有效?提款的诚信度。如果 L2 网络受到威胁,该桥接如何保证所有诚实用户的资金都能被提取? 协议活跃性。桥如何保证在 L2 协议停止或下线时仍可以执行交易?
当然,以上问题必须得到解决,同时桥接合约具备的计算资源明显少于链下系统,因此桥接无法地还原地实时重新执行所有交易。否则,它不就是可扩容解决方案。
解决以上问题可以让我们陷入兔子洞困境。具体包括链上挑战、欺诈证明、有效性证明、将交易数据发布到 L1 区块链(rollups)和链上世界。
尽管我们的文章没有重点介绍各种解决方案,但我们强调所有解决方案都不相同。一些即将部署的 L2 协议将无法满足上述安全目标。由于缺少 L2 桥,因此它们不能被称为 L2 协议。
正如本文所探讨的情况,共有四种桥可以实现将资金锁定在区块链中,同时相同的资产在另一链下系统(还可能是另一条区块链)被代表。
托管桥。上文最先提出的三类桥关注的是哪一组托管人控制了锁定的资金。托管人的作用是在允许从桥中提取任何资产之前,先验证链下系统是否正确。假设前提是:链下系统的诚信度是客户一侧的问题,并且托管人有足够的计算资源来处理它。尽管有工作来减轻托管人的作用,并引入加密经济激励措施以鼓励保管人遵循协议,但该桥接协议无法完全约束保管人。曾经发生过几例桥接丢失用户资金(例如 Mt. Gox)的事件,这是因为这种桥的诚信度最终取决于对人的信任。
L2 桥。L2 桥接取代了托管人的角色,它们负责保管资金并检查链下系统的诚信度。问题的核心是,这类桥接系统必须确信链下系统不会受到破坏,同时它缺乏独立检查每个交易的计算资源(否则它就不是可扩容解决方案)。除了所带来的高难度技术挑战外,它也不是免费的。要使 L1 区块链确信链下系统确实结构完善、且其诚信丝毫未受到破坏,则存在持续的财务成本。但是,最终将是由桥保管资金,而不是链下系统运营者。
总体而言,对于用户是否真的在乎 L2 桥以及我们是否应将以太坊的安全模式扩展到链下系统上,尚无定论。
就像生活中的所有事物一样,我怀疑所有四类桥都将继续存在,因为它们对于在用户中推广都是不可或缺的。
我唯一的要求是:您(用户)要以谨慎的态度考察您喜欢的协议所使用的桥的类型。重要的是:要更好地了解您的资金如何免受不良分子的染指。
感谢 Hasu 和 Chris Buckland 。